package jm.nj.demo07main.demo04;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

/*
* 泛型通配符:? 代表任意的数据类型
* 上限限定:? extends E 代表只要E类型的子类或E本身即可
* 下限限定:? super E 代表只要是E类型的父类或者E本身即可
*
* ArrayList 集合的构造方法
* ArrayList(Collection<? exTends E> c)
*
* */
public class Demo05Generic {
    public static void main(String[] args) {
        //定义集合吧,包含3个元素
        /*ArrayList<String>listB = new ArrayList<String>();
        listB.add("jdas");
        listB.add("fas");
        listB.add("fasf");
        //ArrayList(Collection<? extends E>c) String extends Object
        ArrayList<Object>listA =new ArrayList<Object>(listB);
        listA.add("obama");
        //观察集合A
        System.out.println(listA);*/

        ArrayList<Object>listB = new ArrayList<Object>();
        listB.add("jdas");
        listB.add("fas");
        listB.add("fasf");
        //Object extends String
        //ArrayList<String> listA = new ArrayList<String>(listB);//Cannot resolve constructor 'ArrayList(java.util.ArrayList<java.lang.Object>)
        //listB obj   是listA Sting 的父类  不满足此关系(Collection<? extends E>c)


    }


}
